]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
keyboard: Initialize the FocusTrackers current window correctly
authorJonas Dreßler <verdre@v0yd.nl>
Fri, 26 Feb 2021 14:52:06 +0000 (15:52 +0100)
committerMarge Bot <marge-bot@gnome.org>
Fri, 12 Mar 2021 15:56:12 +0000 (15:56 +0000)
The FocusTracker keeps track of the currently focused window using its
internal this._currentWindow property. It will only pick up the focused
window though when receiving a "notify::focus-window" signal, so the
focused window that's set when the FocusTracker is created won't be
picked up.

Fix that by setting the _currentWindow during creation of the
FocusTracker.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1728>

js/ui/keyboard.js

index d7c07c0c6da2d50109e720cd066defbee993de55..0f01589fdd892a98b3994bb03a34eca3a2e7f938 100644 (file)
@@ -550,7 +550,6 @@ var KeyboardModel = class {
 
 var FocusTracker = class {
     constructor() {
-        this._currentWindow = null;
         this._rect = null;
 
         this._notifyFocusId = global.display.connect('notify::focus-window', () => {
@@ -558,6 +557,8 @@ var FocusTracker = class {
             this.emit('window-changed', this._currentWindow);
         });
 
+        this._setCurrentWindow(global.display.focus_window);
+
         this._grabOpBeginId = global.display.connect('grab-op-begin', (display, window, op) => {
             if (window == this._currentWindow &&
                 (op == Meta.GrabOp.MOVING || op == Meta.GrabOp.KEYBOARD_MOVING))